Automatic management of digital media

ABSTRACT

In an embodiment, the present disclosure provides computer-implemented systems and methods for automatic management of video content of a plurality of content creators. In an embodiment, the disclosure provides, among other things, computers programmed to implement a networked, online platform for facilitating collaboration between content creators and producers. In an embodiment, the platform is programmatically configured to provide a content creator with a Challenge function that includes a challenge management system with automated messaging and a reward system. In an embodiment, the platform is also programmatically configured to implement a Broadcast function useful to a content creator. In an embodiment, the platform is programmed to implement the foregoing functions using complete, defined workflows that efficiently facilitate collaboration among content creators via the Challenge function or the Broadcast function.

BENEFIT CLAIM

This application claims the benefit under 35 U.S.C. 120 as acontinuation of application Ser. No. 17/381,070, filed Jul. 20, 2021,the entire contents of which are hereby incorporated by reference forall purposes as if fully set forth herein. Applicant hereby rescinds anyprior disclaimer of subject matter and advises the USPTO that the claimsherein may be broader than any claim in any priority application.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyright orrights whatsoever. ©2021 PearPop Inc.

TECHNICAL FIELD

One technical field is automatic management of digital media assets,including video content, sound, images, and other digital media assets.Another technical field is platforms and tools for digital contentcreation, editing, and distribution.

BACKGROUND

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

Today's technology enables the creation and sharing of a vast array ofdigital content with an unprecedent number of consumers. Video recordingartists, for example, can reach audiences spread across the globe andshort-form video recording and sharing applications such as TIKTOK andINSTAGRAM have become widely successful. However, emerging contentcreators who are seeking to increase the number of accounts that followthem must compete for media views with an ever-growing constellation ofcelebrities who are also recording digital media. Meanwhile, consumerattention spans and time remain limited.

On the other hand, content creators who are seeking to monetize even asizable number of follower accounts face challenges in converting alarge following into a regular income stream. Partnering withadvertisers may be inefficient and logistically challenging, sometimesrequiring the assistance of a manager or agent and attendant costs.Moreover, the most lucrative partnership contracts that provide for amore long-term and regular income stream often go to a relatively selectset of celebrity content creators. These issues are exacerbated whencontent creators with diverse bases of follower accounts desire tocollaborate to produce digital creative works. Tools to facilitate andautomate end-to-end collaboration and management of digital media assetsare lacking. If a solution could be developed that addressed theaforementioned issues, then it would represent a significant advance inthe state of the art.

SUMMARY

The appended claims may serve as a summary of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 illustrates a distributed computer system showing the context ofuse and principal functional elements with which one embodiment could beimplemented.

FIG. 2A illustrates an example process for issuing video recordingChallenges from a buy-side perspective, in an embodiment.

FIG. 2B illustrates an example process for completing Challenges from asell-side perspective, in an embodiment.

FIG. 3A illustrates an example process for creating a Broadcast requestfrom a buy-side perspective, in an embodiment.

FIG. 3B illustrates an example process for completing a Broadcastrequest from a sell-side perspective, in an embodiment.

FIG. 4 illustrates an example user interface for submitting acollaboration as part of a Challenge or Broadcast process, in anembodiment.

FIG. 5 illustrates a computer system with which one embodiment could beimplemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

The text of this disclosure, in combination with the drawing figures, isintended to state in prose the algorithms that are necessary to programa computer to implement the claimed inventions, at the same level ofdetail that is used by people of skill in the arts to which thisdisclosure pertains to communicate with one another concerning functionsto be programmed, inputs, transformations, outputs and other aspects ofprogramming. That is, the level of detail set forth in this disclosureis the same level of detail that persons of skill in the art normallyuse to communicate with one another to express algorithms to beprogrammed or the structure and function of programs to implement theinventions claimed herein.

Embodiments are described in sections below according to the followingoutline:

1. General Overview

2. Structural & Functional Overview

-   -   2.1 Challenge function    -   2.2 Broadcast function

3. Implementation Example—Hardware Overview

1. General Overview

In an embodiment, the disclosure provides computer-implemented systemsand methods for automatic management of video content of a plurality ofcontent creators. In an embodiment, the disclosure provides computersprogrammed to implement a networked, online platform for facilitatingcollaboration between content creators and producers. “Platform,” inthis context, refers to a combination of a server-side application and aclient-side application that execute independently but communicate andinteroperate to execute substantive functions as further describedherein. Collaboration, in this context, may include messagecommunications, facilities for recording short-form videos or othermedia, and sharing the media. The platform may provide software tools,accessible using mobile computing devices or other computers, fordigital content creation, editing, and distribution. These tools mayinteroperate with computer-implemented digital payment services, andrecommendation algorithms that are programmed, in part, to executetargeted association of content creators capable of collaborativerecording with others and/or forming a mutually beneficial relationshipwith others.

In an embodiment, the platform is programmatically configured to providea content creator with a Challenge function that includes a challengemanagement system with automated messaging and a reward system. In thiscontext, a “challenge” may be a series of electronic messages, thetiming and content of which are mediated by programmed algorithms, thatare configured to induce an account or individual to record a videorecording in association with a specified account or individual.

In one embodiment, a content creator may initiate a challenge byinteractively communicating with the challenge management system toidentify a digital content item, such as a short-form video recording,and uploading it to a server computer that implements a storage,distribution, mediation, and payment platform. The challenge is definedin part using a set of challenge criteria, which may comprise fixedrewards or tiered reward goals. The reward system may be programmed toautomatically reward other content creators who, achieve a certainamount of views of the digital content item, or produce a new digitalcontent item that is associated with the identified digital content itemthrough a collaboration. The Challenge may specify that the content itemmust be used in producing a video recording, a sound recording, amulti-party audiovisual recording, or another type of digital content.Consequently, the Challenge function provides the technical benefit ofmore efficient production of audiovisual recordings for a contentmanagement system by reducing the difficulty of finding content withwhich to collaborate and implementing an automated workflow that leads auser or account through the process of recording.

In an embodiment, the platform is also programmatically configured toimplement a Broadcast function useful to a content creator. For aspecified digital content item, the content creator may set broadcastcriteria and initiate a broadcast, thus causing the platform to transmita request of the content creator to collaborate with other users oraccounts concerning the digital content item. The digital content itemmay be a video recording, a sound, a multi-party audiovisual recording,or another type of digital content. The broadcast criteria may comprisea budget, a content category, and a desired number of followersassociated with the sought broadcast partner. The broadcast function mayallow content creators without a large existing set of follower accountsto increase the number of follower accounts by distributing the digitalcontent item in collaboration with content creators who have largerand/or more active networks of follower accounts.

In an embodiment, the platform is programmed to implement the foregoingfunctions using complete, defined workflows that efficiently facilitatecollaboration among content creators via the Challenge function orBroadcast function. In an embodiment, the platform is programmed withroutines, functions, or tools for producing, editing, remixing, andstoring digital content. In embodiments, the platform may communicate,using API calls or other programmatic interfaces, with social mediasites where collaborative content is hosted or displayed. In anembodiment, the platform is programmed to process electronic paymentsrelated to challenges and broadcasts, using secure digital wallets andblockchain recordation of transactions. In some embodiments, payment maybe collected or distributed in the form of Ether (ETH), bitcoins,another cryptocurrency, conventional currency, or platform-specifictokens.

In an embodiment, a computer implemented method includes receiving, froma first platform user, a specification of a file comprising digitalcontent, the specification being associated with challenge settingsincluding at least a start date, an end date, a budget, a challengetype, and challenge criteria comprising a reward amount. The challengesetting may be digitally published, online. A link comprising a pointerto a digital object comprising the digital content may be received froma second platform user, the digital object being hosted online by a hostwebsite. The link may be programmatically verified using anautomatically-scheduled API call to the host website. Verification caninvolve checking that metadata associated with the digital object at thelink satisfies the challenge criteria associated with the challengesettings. The metadata may be at least one of a number of views or anumber of likes of the digital object. After verifying that the metadataassociated with the digital object at the link satisfies the challengecriteria a reward may be distributed to a financial account of thesecond platform user.

In an embodiment, the challenge settings may be digital published onlinein a list of live Challenges in a Challenge Feed, the list of liveChallenges specifically curated to the second platform user based ondeterminations made by a machine learning algorithm operating on agraph, content types and content creators being represented as nodes onthe graph and an increase in followers of a second content creator beingmodeled as a flow from a first content creator node to a second contentcreator node.

In an embodiment, the second platform user creates the digital objectusing tools provided by a platform on which the first platform user andthe second platform user each have a respective user account, the toolscomprising at least one of video editing tools, sound editing tools,image editing tools, text editing tools, markup tools, post-productiontools, file compression tools, metadata editing tools, tools forcreating subtitles, or tools for creating closed captioning (CC).

In an embodiment, the challenge type may be one of a duet, a stitch, asound, or a comment.

In an embodiment, the challenge criteria may be tiered reward goals.

In an embodiment, the reward is deposited into a digital walletassociated with a user account of the second platform user, the useraccount associated with a platform, and the reward comprising Ether,Bitcoin, or a unique fungible token native to the platform.

In an embodiment, a computer-implemented method includes receiving, froma first user, a specification of a file including digital content, thespecification being associated with Broadcast buy criteria comprising adesired host platform type, a desired collaboration type, a desiredfollower range, and a budget. Broadcast sell settings may be receivedfrom a second user. The Broadcast sell settings may include one or moresets of parameters, each set including at least a price corresponding toboth a collaboration type and a host platform type, a compatible set ofthe one or more sets of parameters comprising the desired host platformtype and the desired collaboration type, the price of the compatible setbeing less than or equal to the budget, and a follower count of thesecond user on the desired host platform type being within the desiredfollower range. A notification comprising a name of the second user andthe compatible set of parameters may be transmitted to the first user.Input signaling an acceptance of the name of the second user and thecompatible set of parameters may be received from the first user. Averification link comprising a pointer to a digital object may bereceived from the second user. It may be verified that the digitalobject pointed to by the verification link includes a digital contentcomposition including the specified digital content, that the digitalobject is being hosted on the host platform type, and that the digitalcontent composition is of the desired collaboration type. A payment maybe distributed to a financial account of the second user.

In an embodiment, the desired follower range may be associated with thespecification of the file by the first user dragging a slider in a GUIdisplayed on a display of a computing device of the first user, theslider comprising a left bound representing a minimum number of desiredfollowers and a right bound representing a maximum number of desiredfollowers, the slider being overlaid on a histogram depicting associatedfollower counts of content creators having digitally submitted Broadcastsell settings.

In a particular embodiment, a method may involve automaticallypopulating, in a subframe of the GUI, a list of content creatorsassociated with Broadcast sell settings that meet the Broadcast buycriteria, the list including miniature portraits of the content creatorsalong with corresponding social media handles and associated followercounts.

In a particular embodiment, a method may involve automaticallypopulating, in a subframe of a GUI displayed on a display of a computingdevice of the first user, a list of content creators associated withBroadcast sell settings that meet the Broadcast buy criteria, the listincluding miniature portraits of the content creators along withcorresponding social media handles and follower counts.

In an embodiment, the content creators of the list of content creatorsbeing selected for display in the subframe of the GUI out of all contentcreators associated with Broadcast sell settings that meet the Broadcastbuy criteria at least partly based on determinations made by a machinelearning algorithm operating on a graph, content types and contentcreators being represented as nodes on the graph and an increase infollowers of a second content creator being modeled as a flow from afirst content creator node to a second content creator node.

In an embodiment, the content creators of the list of content creatorsmay be selected for display in the subframe of the GUI out of allcontent creators associated with Broadcast sell settings that meet theBroadcast buy criteria at least partly based on content tags submittedby the first user designating one or more styles of the digital content.

In an embodiment, the collaboration type may be one of a duet, a stitch,a sound, or a comment.

2. Structural & Functional Overview

FIG. 1 illustrates a distributed computer system showing the context ofuse and principal functional elements with which one embodiment could beimplemented. In an embodiment, distributed computer system 110 comprisescomponents that are implemented at least partially by hardware at one ormore computing devices, such as one or more hardware processorsexecuting stored program instructions stored in one or more memories forperforming the functions that are described herein. In other words, allfunctions described herein are intended to indicate operations that areperformed using programming in a special-purpose computer orgeneral-purpose computer, in various embodiments. FIG. 1 illustratesonly one of many possible arrangements of components configured toexecute the programming described herein. Other arrangements may includefewer or different components, and the division of work between thecomponents may vary depending on the arrangement.

FIG. 1 , and the other drawing figures and all of the description andclaims in this disclosure, are intended to present, disclose and claim atechnical system and technical methods in which specially programmedcomputers, using a special-purpose distributed computer system design,execute functions that have not been available before to provide apractical application of computing technology. In this manner, thedisclosure presents a technical solution to a technical problem, and anyinterpretation of the disclosure or claims to cover any judicialexception to patent eligibility, such as an abstract idea, mentalprocess, method of organizing human activity or mathematical algorithm,has no support in this disclosure and is erroneous.

FIG. 1 , for one embodiment, depicts a distributed computer system 110coupled via network 100 to a client computing device 120, a third-partydatabase 130, a main blockchain 140, a side blockchain 150, and acontent host 160. In some instances, some of the depicted components maybe communicatively coupled via a network 100 without the distributedcomputer system 110 positioned as an intermediary.

In an embodiment, computer system 110 is programmed to execute thefunctions described herein and related to automatic management ofdigital content items of a plurality of content creators andcollaboration between groups of two or more content creators, as furtherdescribed in other sections herein. Distributed computer system 110 maycomprise one or more processors, cores, clusters, computers, servers,and/or virtual machine instances, hosted or executing in an enterprise,private datacenter, public datacenter and/or cloud computing service.

In some embodiments, the client computing device 120 may be asmartphone, laptop computer, desktop computer, tablet, or any other typeof computing device comprising one or more hardware processors orprocessor cores. In one embodiment, client computing device 120 hostsand executes a client application or app 122, which the client computingdevice may download and install from computer system 110, an applicationstore, or other repository. The app 122 is compatible with computersystem 110 and communicates with the computer system using anapp-specific protocol, parameterized HTTP POST and GET requests, and/orother programmatic calls. In some embodiments, app 122 comprises aconventional internet browser application that is capable ofcommunicating over network 100 to other functional elements via HTTP andcapable of rendering dynamic or static HTML, XML, or other markuplanguages, including displaying text, images, accessing video windowsand players, and so forth.

In embodiments, the third-party database 130 may be an FTP site, cloudstorage system, relational database, data lake, or other electronicdigital system programmed for data storage, querying, and retrieval. Inembodiments, the third-party database 130 is an InterPlanetary FileSystem (IPFS). Database 130 may comprise networked storage in private orpublic cloud storage systems, file sharing systems, network attachedstorage, and so forth.

The main blockchain 140 and side blockchain 150, in one embodiment, areimplemented using ETHEREUM blockchain technology, but other embodimentsmay use other kinds of blockchain technology. In embodiment, the sideblockchain 150 has lower transaction costs than the main blockchain 140;the side blockchain 150 may have zero or de minimis transaction costs.

In an embodiment, the content host 160 is a social media content sharingcomputer, service or website that is programmed to receive, store andhost audiovisual programs, such as short-form user-created videos thatare uploaded to content host 160 from mobile computing devices, desktopcomputers, or other devices. Presently known commercial examples includeTIKTOK and INSTAGRAM, but other embodiments may use functionallyequivalent or functionally similar services of other providers. A video,audiovisual program or recording, or other digital content item that thecontent host 160 hosts may be associated with metrics, such as a numberof views or likes associated with the video, that are digitally storedin tables of the database 130, main memory of the computer system 110,or internal database 116. Metrics of this type may be obtained usingprogrammatic means such as API calls, parameterized HTTP POST or GETrequests, or calls or method invocations in application-specificprotocols. In embodiments, digital content items that are uploaded todistributed computer system 110 may be automatically published to acontent host 160. In embodiments, a link or pointer to digital contenthosted by a content host 160, or the digital content itself, may beuploaded to distributed computer system 110 and stored in internaldatabase 116 or third-party database 130.

In one embodiment, distributed computer system 110 comprises projectmanagement instructions or logic 102 that are programmed to interoperatewith digital creation logic 104 and data storage logic 106 to executethe functions that are described herein. In an embodiment, instructionsexecuted at distributed computer system 110 are organized as a webapplication which app 122 accesses via HTTP.

In an embodiment, when a user account uploads digital content items tocomputer system 110 from a client computing device 120, projectmanagement logic 102 is programmed to assign the digital content item toa particular project 136, which may have a unique project identifier(ID). The data storage logic 106 is programmed, in response, to causethe uploaded content to be stored in third-party database 130 or aninternal database 116. The internal database 116 may an FTP site, cloudstorage, relational database, data lake, or other system for datastorage.

In some embodiments, project management logic 102 is programmed withuser enrollment and account creation instructions that respond to inputsignals from client computing device 120 requesting to create a new useror account. In some embodiments, a request of a client computing device120 to create a new user or account is transmitted with an electronicmail address or other unique identifier of a user or account, and inresponse, project management logic 102 is programmed to call an API ofan external system to validate the user identifier and/or obtainsecurity credentials for the user or account. Or, in some embodiments inwhich third-party systems do not provide usable credentials, userrequests may be manually checked. For example, a new user may transmit aregistration request that specifies a username that has been previouslycreated in a third-party service such as TIKTOK. In response, projectmanagement logic 102 is programmed to generate a pseudo-randomlygenerated integer verification code, and to transmit a response messageto the user instructing the user to add the verification code to theirTIKTOK biography for manual verification by an administrator associatedwith distributed computer system 110 or an owner or operator of thesystem. The same method of verification may be used to ensure videorequests are honored by a collaborator.

In an embodiment, data storage logic 106 is programmed for determiningwhere data should be stored, for causing data to be stored andbacked-up, and for executing transactions on the main blockchain 140 andthe side blockchain 150. The project management logic 106 is programmedto implement version control and access control for files related toprojects 136, including versions of compositions and contributed video,audio, digital imagery, and electronic text files. In embodiments,digital files related to challenges or broadcasts may be associated withprojects 136 and stored in the internal database 116, the third-partydatabase 130, or in another data storage system.

In an embodiment, the data storage logic 106 programmaticallyinteroperates with digital creation logic 104. In an embodiment, thedigital creation logic 104 is programmed to process files related to thecreation of digital objects by content creators. A user accountassociated with the client computing device 120 may interactively usethe digital creation logic 104 to create, produce, or mix digitalcontent items for projects 136. The digital creation logic 104 isprogrammed, in various embodiments, to implement video editing tools,sound editing tools, image editing tools, text editing tools, markuptools, post-production tools, file compression or editing tools,metadata editing tools, tools for creating subtitles or closedcaptioning (CC), or other digital editing, production, remixing, orpublication tools.

2.1 Challenge Function

FIG. 2A illustrates an example computer-implemented process for issuingChallenges from a buy-side perspective, in an embodiment. “Buy-side,” inthis context, refers to operations associated with creating andpublishing the details of a Challenge, receiving data indicatingcompletion of a Challenge, verification of completion, and distributionof electronic rewards. The Challenge process, as disclosed, solves thetechnical problem of how to minimize the number of digital messages thatare transmitted, using less network bandwidth, to accomplish a logicalconnection of a content creator to another account that is capable ofassisting with dissemination of a particular digital content item. TheChallenge process provides ancillary benefits such as rewards as anincentive for transmission of certain network messages, but thefundamental purpose of the Challenge process is to establish digitalcommunication links between devices, accounts, and/or user computersthat did not previously exist, using an efficient transmission sequenceof network messages.

FIG. 2A and each other flow diagram herein is intended as anillustration at the functional level at which skilled persons, in theart to which this disclosure pertains, communicate with one another todescribe and implement algorithms using programming. The flow diagramsare not intended to illustrate every instruction, method object orsub-step that would be needed to program every aspect of a workingprogram, but are provided at the same functional level of illustrationthat is normally used at the high level of skill in this art tocommunicate the basis of developing working programs.

In FIG. 2A, in an embodiment, a Challenge issuance method 200 isprogrammed to start execution at step 202, at which a client computingdevice associated with a content creator establishes challenge settingsby interactively communicating with the distributed computer system 110using the client computing device 120 and app 122. For purposes ofillustrating a clear example, in the following sections, the term“Challenge-issuer” identifies a particular user account, clientcomputing device 120, and/or user that initially configures or issues achallenge. This term is used solely for brevity and convenience and isnot required as a label in or element of an embodiment.

Establishing the Challenge settings may comprise app 122 receiving inputsignals indicating selecting a Challenge creation function, then otherinput identifying one or more first digital content items for contentcreators to use, remix, or fuse with one or more second digital contentitems of the other content creators. The digital content item that theChallenge-issuer identifies may be an audiovisual recording, a videofile, an audio file, an electronic text file, or another type of digitalfile, stored at any of client computing device 120, content host 160,third-party database 130, or internal database 116. The digital contentitem may be selected by app 122 calling a file browser function of theoperating system of the mobile computing device 120, for example, tofacilitate selecting a file from local device storage or local appstorage to cause uploading to the distributed computer system 110. Or,the digital content item may already be stored by the distributedcomputer system 110 in the internal database 116, or it may be stored inthe third-party database 130 or another data storage system.Alternatively, the identified content may be uploaded in step 202 as theChallenge settings are determined by the Challenge-issuer.

At step 202, in an embodiment, the challenge settings comprise aselection of a type of collaborative digital content composition thatthe Challenge-issuer desires content creators to produce to complete thechallenge (a “Challenge type”), such as a multi-party audiovisualrecording or DUET, a stitch, a sound, a comment, or another compositiontype. In some embodiments, the multi-party audiovisual recordingcomprises a composite recording of a video identified by theChallenge-issuer in combination with a video created by theChallenge-accepter; side-by-side composite recording may be used. In anembodiment, a stitch comprises a video recording consisting of a videoclip of a Challenge-issuer that is incorporated into a video recordingcreated by the Challenge-accepter. The video recordings in theseembodiments may be hosted, for example, at content host 160 or clientcomputing device 120. In an embodiment, a comment involves theChallenge-accepter posting and sharing a comment on theChallenge-issuer's video using a social media service; commercialexamples include INSTAGRAM, FACEBOOK, TWITTER and so forth. Inembodiments, the Challenge involves the Challenge-accepter creating avideo in which an audio file of the Challenge-issuer is played in thebackground. In such embodiments, a Challenge may require theChallenge-accepter to dance or act in a certain style or manner asdescribed by the Challenge-issuer in a text, audio, or video descriptionto complete the challenge.

In an embodiment, the Challenge function is programmed to execute rewardfunctions and to enforce challenge criteria under automatic programcontrol. In one implementation, challenge settings include challengecriteria specifying either an all-or-nothing reward goal or a tieredreward goal to be paid to content creators who complete the Challenge.In an embodiment, to satisfy a challenge, the Challenge-accepter mustpost, using a social media service, digital content that satisfies thechallenge criteria. When the challenge criteria specify anall-or-nothing reward, to satisfy a challenge, to earn a reward, theChallenge-accepter must achieve a certain number of views and/or likes(e.g., 500 views, 5,000 views, 3,000 likes, or 20,000 views and 10,000likes) in association with a digital content item.

In an embodiment, when the challenge criteria specify a tiered rewardsystem, the process may be programmed to provide the Challenge-accepterwith partial rewards for partial challenge completion (e.g., $200 for2,000 views, $500 for 4,000 views, or $1,000 for 6,000 views). In anembodiment, by interacting with program functions of app 122 inconjunction with computer system 110, the Challenge-issuer sets thereward criteria publicly before publishing the Challenge and cannot editthe reward criteria once the Challenge has been published. In anembodiment, under control of program functions of app 122 in conjunctionwith computer system 110, the Challenge-issuer sets a publicly viewabletotal budget they are willing to pay content creators who complete theChallenge, and the Challenge automatically concludes when that totalbudget is exhausted.

Referring again to FIG. 2A, at step 204, the Challenge corresponding tothe established challenge settings is published. “Published,” in thiscontext, means distributed computing system 110 changing a state valueof the Challenge in internal database 116. After publication, clientcomputing devices 120 of other accounts that issue search queries mayreceive result sets of Challenges that include the published Challenge.Stated otherwise, internal database 116 is programmed to filter resultsets to include only Challenge records that are in the Published state.

Thus, once a Challenge is published, other client computing devices 120of user accounts may view the Challenge and the digital content itemthat was identified by the Challenge-issuer, and attempt to complete theChallenge. In embodiments, distributed computer system 110 is programmedto post information about the Challenge online to one or more web pagesassociated with the platform. These pages may include a home page thatdistributed computer system 110 is programmed to serve to clientcomputing devices 120, accounts, and platform users upon logging in tothe platform and a “Challenge page” that lists a plurality of ongoingand/or upcoming Challenges. The distributed computer system 110 isprogrammed to generate posted information about a Challenge thatincludes the name of the Challenge-issuer, the challenge criteriaincluding the reward criteria and budget, a start date, an end dateafter which submissions may no longer be made by Challenge-accepters, anintroductory description comprising a video, or other information. Inembodiments, platform users may dynamically track budget status and thesubmissions of content creators who have completed the challenge.

At step 204, in an embodiment, publishing a challenge may comprisedistributed computer system 110 notifying user accounts that theChallenge is available by email messages, direct messages on socialmedia platforms, text messages, or other electronic communications. Inembodiments, when a user account accesses distributed computer system110, the distributed computer system 110 is programmed to transmit alist of available Challenges in a “Challenge Feed”, which may be on the“Challenge page” that is transmitted to the client computing device 120.In some embodiments, the contents of the Challenge Feed are filtered andmodified specifically for a particular user account or client computingdevice 120 based at least in part on content types with which theChallenge-issuer and platform user are associated. In an embodiment,generating the Challenge Feed may be based on output of a machinelearning algorithm operating to evaluate data in a graph that isdigitally stored in memory of distributed computer system 110. In anembodiment, the graph models content types and creators are as nodes,and a change in followers is modeled as an edge joining a first creatornode to a second creator node.

Referring again to FIG. 2A, in step 206, the method is programmed toexecute a verification of completion of the Challenge for one or moreChallenge-accepters. In embodiments, completing the Challenge requires aparticular user account or client computing device 120 creating adigital object that is a digital composition comprising both the digitalcontent identified by the Challenge-issuer and new digital contentcreated by the Challenge-accepter. In embodiments, step 206 comprisesdistributed computer system 110 programmatically checking whether thedigital object has been uploaded to a specified third-party service andwhether the digital object has received a required minimum number ofviews and/or likes as specified in the Challenge criteria. Examples ofthird-party services include TIKTOK and INSTAGRAM.

In various embodiments, verification at step 206 is performed manuallyby the Challenge-issuer, the platform, other platform users, or acombination thereof, including signaling the distributed computer system110 with input specifying that verification has occurred. In response,distributed computer system 110 is programmed to update internaldatabase 116 to mark the Challenge as verified in relation to aparticular Challenge-accepter account.

In embodiments, any time after creating digital content that satisfiesthe specifications of the Challenge, a Challenge-accepter may use app122 to submit a link to a social media website at which the particularcontent item is hosted. In embodiments, the distributed computer system110 may periodically access metadata associated with the submitted linkto determine a current number of views or likes using API calls,comparing the metadata received in response to the challenge settings orcriteria. After the content receives the requisite number of views orlikes to achieve a reward tier or complete reward, the distributedcomputer system 110 is programmed to notify the Challenge-accepter andupdate the progress of the Challenge budget on the platform. Inembodiments, the Challenge accepter may instead only submit a link tothe hosted content after the digital content has received the requisitenumber of views or likes to achieve a reward tier or complete reward.

At step 208, method 200 is programmed to distribute rewards to contentcreators or accounts that successfully complete the Challenge. In anembodiment, step 208 comprises distributed computer system 110programmatically initiating an electronic digital payment to the accountof a user associated with a validated completion of the Challenge. Invarious embodiments, payments may be distributed by electronic check, orprogrammatically ordered through a payment processor intermediary suchas STRIPE, PAYPAL, or another intermediary using APIs or function callsor method invocations provided by those services. In an embodiment,prior to interacting with the method, distributed computer system 110 isprogrammed to prompt content creators who wish to send requests to addcredit card information via internal database 116 or the third partypayment services before they send any requests, and content creatorsthat will receive payments set up deposit information. In someembodiments, card payments are charged only after an administratorassociated with distributed computer system 110 conducts a manual checkto verify that a particular digital content item has been posted. Onceit is verified, the card is charged, and the collaboration party willhave access to the funds.

Payment may be collected or distributed in the form of ETHER (ETH),BITCOIN, or another cryptocurrency. In an embodiment, distributedcomputer system 110 is programmed to support payment distribution viatokens which are a type of currency unique to the platform. These tokensmay represent value on the platform without being legal tender, allowinga freer flow of currency throughout the platform and between thebuy-side and the sell-side. Thus, a platform user that earns moneythrough a Challenge may easily reinvest that money into growing his orher user base through the Broadcast function (as explained furtherherein, particularly in section 2.2). The platform operators may take acommission based on the Challenge budget or the amount of rewardsdistributed, or as a flat fee, at any point in the process. Inembodiments, payment is deposited in a digital wallet associated with auser account of the user being paid.

FIG. 2B illustrates an example process for completing Challenges from asell-side perspective, in an embodiment. “Sell-side,” in this context,refers to operations associated with accounts that view and selectChallenges, complete Challenges, submit evidence of completingChallenges, and receive electronic rewards.

In FIG. 2B, in an embodiment, a Challenge completion method 250 beginsat step 252 in which a content creator views open challenges byinteractively communicating with the distributed computer system 110using the client computing device 120 to request and generate a list ofChallenges that have been published. In some embodiments, at step 252, aclient computing device 120 may request and receive a view of openChallenges that are available on the platform. Open Challenges availablefor completion may be viewed in a graphical user interface (GUI)rendered using app 122 on client computing device 120. Projectmanagement logic 102 may be programmed to generate and transmit, to app122, instructions that can render a GUI in which viewable Challenges canbe filtered by associated content type, reward amount, start date, enddate, Challenge-issuer name, posting date, budget data, or based onother criteria. For example, distributed computing system 110 may beprogrammed to generate and transmit dynamic HTML datasets for displayand rendering via app 122 to display hyperlinks and/or GUI widgetswhich, when selected via input at client computing device 120, causereordering and/or redisplaying Challenge data. Open and availableChallenges may also be configured for search by keyword or based on theaforementioned filter types.

In FIG. 2B, in an embodiment, method 250 may progress from step 252 tostep 254, in which a content creator completes a challenge by creating adigital object/digital composition that integrates theChallenge-issuer's identified content and the Challenge-accepter's newlycreated digital content. To complete the Challenge, the content creatormay use tools provided by the platform's digital creation logic 104 tocreate, produce, or mix content. These tools may comprise video editingtools, sound editing tools, image editing tools, text editing tools,markup tools, post-production tools, file compression or editing tools,metadata editing tools, tools for creating subtitles or closedcaptioning (CC), or other digital editing, production, remixing, orpublication tools. The integrated tools provided by the platform mayallow for a seamless flow from collaboration initiation to Challengecompletion. Alternatively, the Challenge-accepter may also use his orher own tools to create the composition and then upload, to theplatform, a final version [which the platform may publish on behalf ofthe Challenge-accepter at a content host 160 website], or a link to afinal version posted to a social media website. FIG. 4 illustrates anexample user interface for submitting a collaboration as part of aChallenge process, in an embodiment.

In FIG. 2B, in an embodiment, method 250 may progress from step 254 tostep 256, wherein the Challenge-accepter submits a link to the digitalobject/digital composition designed to satisfy the requirements of theChallenge. The link may be a URL or other identifying information usedto pinpoint a location of the digital content. Before receiving his orher reward, the Challenge-accepter must wait for a verification that theChallenge was completed successfully. In various embodiments, theverification is done by the Challenge-issuer, the platform, otherplatform users, or a combination thereof.

In FIG. 2B, in an embodiment, method 250 may progress from step 256 tostep 258, wherein a content creator that successfully completes thatchallenge receives a reward as described further herein. The reward maybe processed by the platform quickly, potentially in only one to twobusiness days due to the streamlined nature of the process.

2.2 Broadcast Function

FIG. 3A illustrates an example process for creating a Broadcast requestfrom a buy-side perspective, in an embodiment.

In FIG. 3A, in an embodiment, a Broadcast request method 300 begins atstep 302, wherein a Broadcast buy request is initiated by a platformuser communicating with distributed computer system 110 using a clientcomputing device 120. To initiate a Broadcast buy request, a platformuser (“Broadcast buyer”) may transmit input, such as graphical input,for example by the user clicking a button on a GUI displayed using app122 on a display of client computing device 120. Each selection of abutton or control of the GUI of app 122 discussed in this section causestransmitting a signal to distributed computer system 110 via network100, and in response, the distributed computer system is programmed toexecute a responsive function or action as further described in thissection.

Any platform user with an active account may be able to initiate aBroadcast buy request. A goal of a Broadcast may be to collaborate withother content creators, especially content creators with a large oractive fan base, to create collaborative content. When the createdcollaborative content is eventually displayed, shared, viewed, or likedon a social media platform, the Broadcast buyer may consequently growhis or her own audience or base of fans or followers. However, in pastapproaches, the ability of one account to discover another account forpurposes of connection or collaboration has been limited. Unlike pastapproaches, the method of FIG. 3A is programmed to create logicalconnections of accounts using efficient network message transmission andto minimize the use of network bandwidth.

In FIG. 3A, in an embodiment, method 300 may continue from step 302 tostep 304, in which the Broadcast buyer may specify a plurality ofBroadcast buy criteria associated with the Broadcast buy request. Thecriteria may comprise a social media platform at which that the contentwill be created such as TIKTOK, INSTAGRAM, or another social mediaplatform or type of content host 160. The criteria may comprise a typeof collaboration such as a DUET, a stitch, a comment, or sound, aspreviously described in other sections. In one embodiment, an account orclient computing device 120 may specify the aforementioned criteria byselecting a corresponding button in the GUI of app 122 and then clickinga “Next” button, or by another method.

In embodiments, the Broadcast buy criteria may comprise a range ofnumbers of follower accounts that the target content creatorcollaborator has on a social media platform. Examples include betweenten thousand and ten million followers, or between one million and twomillion followers. The Broadcast buyer may select the range by dragginga slider on the GUI of app 122, the slider comprising a left boundrepresenting a minimum number of desired followers and a right boundrepresenting a maximum number of desired followers. The slider may beoverlaid on a graph, such as a histogram, the histogram depicting anumber of potentially available Broadcast sellers with variousassociated follower ranges.

In embodiments, as the platform user narrows the Broadcast buy criteriaat step 302 by specifying a desired follower count of a target Broadcastseller, or by specifying other criteria, a list may populate in asubframe of the GUI. In an embodiment, the list comprises of potentiallyavailable content creators to collaborate with, that is, contentcreators that meet all of the specified criteria. The list may be textbased, graphical, or a combination. The list may comprise thumbnailimages of content creators who are potentially available forcollaboration, and other pertinent information associated with thosecreators, including social media handles and follower counts. In anembodiment, distributed computer system 110 is programmed to obtain theforegoing metrics via API calls to the content host 160 or social mediasites.

In embodiments, the Broadcast buyer associated with an account or clientcomputing device 120 may click on one of the thumbnail images in theGUI, and in response, distributed computer system 110 is programmed totransmit more information associated with the creator or to move forwardwith sending a Broadcast buy request to that particular content creator.In other embodiments, at any time, the Broadcast buyer may be able toclick on the subframe of the GUI of app 122 containing the thumbnailimages to obtain an enlarged or maximized view of the portraits, seeingmore or potentially all Broadcast sellers that the current criteria arecurrently targeting. In embodiments, the platform user may click a“Next” button in the GUI of app 122 to move on to specifying moreBroadcast buy criteria after making a selection on the follower countslider.

In embodiments, the Broadcast buy criteria may comprise a totalBroadcast buy budget that the platform user is willing to spend on theinitiated buy. The budget may be specified, for example, by dragging aslider in the GUI of app 122 or by typing in a total maximum amount ofmoney that the Broadcast buyer might be willing to spend on theinitiated buy. The budget slider may move in increments such as $25increments. If the Broadcast buyer's currently specified budget is lowcompared to the specified follower count criteria, then a warning may bedisplayed in the GUI. The warning may comprise a color change of textdisplayed in the GUI or a new text string displayed in the GUI, such as“*low—reaches 1 creator”.

In FIG. 3A, in an embodiment, method 300 may continue from step 304 tostep 306, in which a Broadcast buyer may add content tags to his or herinitiated Broadcast buy request by interacting with the GUI of app 122.Content tags may comprise hashtags (e.g., “#style”, “#comedy”, “stunt”,or “flip”) which may be used to help identify creators (Broadcastsellers) associated with the Broadcast buyer's self-identified brand.The tags may be selected from menus, such as dropdown menus, or selectedin another way such as typing a desired tag into a text field, the textfield potentially using autocomplete or suggestions. In response,distributed computer system 110 is programmed to store data identifyingthe tags in association with records identifying the content items.

In embodiments, distributed computer system 110 is programmed to suggestcontent creators, as possible collaboration partners, to the Broadcastbuyer. In an embodiment, distributed computer system 110 is programmedto determine suggestions of other accounts as collaboration partners byexecuting a machine learning algorithm operating on a digitally storedgraph data structure in which content types and creators are representedas nodes on the graph and an increase in followers is modeled as an edgejoining one creator node to another creator node.

In FIG. 3A, in an embodiment, method 300 may continue from step 306 tostep 308, in which a Broadcast buyer may add or confirm payment detailsby interacting with the GUI of app 122. In embodiments, the Broadcastbuyer may instruct distributed computer system 110 to pay for aBroadcast collaboration using eCheck, or through Stripe, PayPal, oranother payment intermediary. Payment may be collected in the form ofEther (ETH), bitcoins, or another cryptocurrency. As described furtherherein, payment may also be made in the form of native tokens managed bydistributed computer system 110.

In embodiments, at step 308, a Broadcast buyer may specify a form ofpayment for a future charge, authorize a charge, or pay upfront. Inembodiments, a payment may be made or authorized in advance, and thenrefunded if the Broadcast transaction is not successfully completed.Payment methods may be saved in distributed computer system 110 so thatthey can be reused in the future without the platform user needing toreenter all of the details. In one example, payment methods are addedusing a colored “Add” button of the GUI of app 122.

In FIG. 3A, in an embodiment, method 300 may continue from step 308 tostep 310, wherein a Broadcast buyer may submit an initiated andcustomized Broadcast buy request. This submission may occur from thesame page in the GUI of app 122, or the same webpage served fromdistributed computer system 110, where the payment details were enteredor from another location. Before submitting the initiated and customizedBroadcast buy request, a Broadcast buyer may submit a link todistributed computer system 110, comprising digital content that theBroadcast buyer wishes Broadcast sellers to use in creating acollaboration such as a duet, stitch, comment, or sound. The link may bea URL that points to a video, a digital audio file, or another type ofdigital content. The link may be submitted by typing or pasting the URLinto a text field and submitting graphical input on the GUI of app 122,which transmits the URL to distributed computer system 110. After therequest has been submitted, distributed computer system 110 isprogrammed to transmit to the Broadcast buyer a plurality of detailscomprising the specified criteria on in the GUI of the app 122, as wellas a counter tracking a number of content creators or Broadcast sellerswho signal, through the platform, that they are interested incollaborating with the requester on the submitted Broadcast buy request.

In FIG. 3A, in an embodiment, method 300 may continue from step 310 tostep 312, wherein a Broadcast buyer accepts one or more seller namessent for consideration. One or more sellers may respond to the Broadcastbuy request. The distributed computer system 110 is programmed to informthe Broadcast buyer of these responses on an inbox page as describedfurther herein or by email, text message, or direct message, or throughanother page accessible through the platform. Each of the responses maycomprise the name of the seller and other relevant information about theseller. In an embodiment, by accepting a seller name sent forconsideration, the Broadcast buyer concludes establishing a deal withthat seller.

In FIG. 3A, in an embodiment, method 300 may continue from step 312 tostep 314, in which distributed computer system 110 is programmed toverify one or more verification links. As described further herein, inembodiments, distributed computer system 110 is programmed to verify acollaboration link or verification link or verification occurs viaoperators, employees, or contractors associated with distributedcomputer system 110. In embodiments, the collaboration is verified bythe Broadcast buyer that created the relevant buy request. Verifying thecollaboration may comprise, among other things, verifying that a contentcomposition viewable at a submitted verification link meets theBroadcast buyer's specifications (e.g., that it is the correct contenttype, that it is on the correct social media platform, and that itproperly integrates the digital content supplied by the Broadcast buyerfor the collaboration with Broadcast seller content).

FIG. 3B illustrates an example process for completing a Broadcastrequest from a sell-side perspective, in an embodiment. FIG. 3B depictsthe same general process as FIG. 3A, but from a different perspective.

In FIG. 3B, in an embodiment, a Broadcast acceptance method 350 beginsat step 352, in which Broadcast sell settings are established by aplatform user (“Broadcast seller”) by communicating with the distributedcomputer system 110 using a client computing device 120 and/or app 122.In an embodiment, distributed computer system 110 is programmed tocreate and manage, for content creators with an account on the platform,a profile page comprising a profile picture, information such as anumber of followers of the content creator on various social mediaplatforms and/or video hosting platforms and one or more links,including a link to Challenges and a link to “sell settings” forBroadcasts. Thus, distributed computer system 110 is programmed toreceive from a Broadcast seller and update Broadcast sell settings byfirst navigating to a settings page accessible by clicking a button in aGUI of app 122 displaying the Broadcast seller's account profile page.

In an embodiment, the Broadcast sell settings may comprise sell pricesfor various types of content further segregated by social mediaplatform. For example, the Broadcast seller may specify a price for aduet, a comment, or a sound on TIKTOK is $25, $100, or $250respectively, while a price for a remix, a comment, or a sound onINSTAGRAM is $20, $115, or $250 respectively. The foregoing are examplesonly: types of collaborative content can vary, and types ofcollaborative content are further described herein with greaterspecificity. I embodiments, a sell settings page may comprise a togglefor whether the Broadcast seller is currently accepting sell requests.The distributed computer system 110 may be programmed to support moregranular toggles corresponding to availability for requests related tospecific social media platforms, video hosting platforms, or othercontent hosts 160.

In FIG. 3B, in an embodiment, method 350 may continue from step 352 tostep 354, in which a Broadcast seller may view one or more receivedBroadcast buy requests. In an embodiment, one way that a Broadcastseller can view received Broadcast buy requests is by clicking anotifications icon accessible from the account profile page displayed inthe GUI. Clicking the notifications icon can lead the platform user toan inbox page which displays both Broadcast's the platform user haspurchased, and the received Broadcast buy requests. In an embodiment,the user's purchased Broadcasts are displayed at the top of the page,followed by received Broadcast buy requests the user has alreadyaccepted, followed by new incoming Broadcast buy requests. In anembodiment, the newly received Broadcast buy requests are ordered suchthat the most recently received requests are nearer the top of the page,but other orderings are possible. The requests may comprise informationsuch as the handle and number of followers of the requester, the type ofcollaboration requested, an offered price, a social media platform, anda time remaining until the request expires. In embodiments, theBroadcast seller may be informed of new Broadcast buy requests inanother way, such as by email, text message, or direct message, orthrough another page accessible through the platform.

In FIG. 3B, in an embodiment, method 350 may continue from step 354 tostep 356, wherein a Broadcast seller may submit his or her name forconsideration responsive to a Broadcast buy request. In an embodiment,the Broadcast seller may click on a buy request in the inbox to seeadditional information associated with the request, including a link tocontent submitted by the requester for the collaboration (e.g., a video)and how many other creators already responded to the request. Theadditional information may also comprise a number of hours the sellerwill have to complete the collaboration (e.g., 48 hours) once the buyeraccepts, finalizing the deal. In an embodiment, the Broadcast seller maysubmit his or her name for consideration by clicking on a “Submit Name”button in the GUI. Responsive to clicking the “Submit Name” button, theplatform may display a confirmation message in the GUI such as “You'veaccepted this Broadcast!”.

In some instances, in step 356, the Broadcast buyer may reject the namesubmission, never see the name submission, or choose not to use theBroadcast seller by not responding, ending method 350. In otherinstances, in step 356, the Broadcast buyer may choose to move forwardwith the Broadcast seller. If the buyer chooses to move forward with theseller, then the Broadcast seller may be informed of this acceptance onthe inbox page or by email, text message, or direct message, or throughanother page accessible through the platform.

In FIG. 3B, in an embodiment, method 350 may continue from step 356 tostep 358 when a Broadcast buyer chooses to move forward with a Broadcastseller, wherein the Broadcast seller may complete a collaboration andsubmit a verification link. Completing the collaboration may comprisecreating a digital content composition using digital content accessiblevia a link that the Broadcast buyer submitted in step 310 (FIG. 3A). Thetype of composition that the seller creates is determined by theBroadcast buyer as described herein and may comprise a duet, a stitch, acomment, or a sound. Once the digital content composition has beencreated by the seller and posted to the desired social media platform(e.g., TIKTOK or INSTAGRAM) or other content host 160, then theBroadcast seller may submit a verification link comprising a pointer tothe hosted composition to verify task completion. FIG. 4 illustrates anexample user interface for submitting a collaboration (verificationlink) as part of a Broadcast process, in an embodiment.

In FIG. 3B, in an embodiment, method 350 may continue from step 358 tostep 360, in which the collaboration/verification link is verified. Inembodiments, the collaboration is verified by the platform or by itsoperators, employees, or contractors. In embodiments, the collaborationis verified by the Broadcast buyer that created the relevant buyrequest. Verifying the collaboration may comprise verifying that acontent composition viewable at a submitted verification link meets theBroadcast buyer's specifications (e.g., that it is the correct contenttype, that it is on the correct social media platform, and that itproperly integrates the digital content supplied by the Broadcast buyerfor the collaboration with Broadcast seller content).

In FIG. 3B, in an embodiment, method 350 may continue from step 360 tostep 362, wherein a Broadcast seller may receive payment for his or hercollaboration [after a verification link is verified]. In embodiments,the Broadcast seller may receive payment for a completed Broadcastcollaboration via eCheck, or through Stripe, PayPal, or another paymentintermediary. Payment may be collected in the form of Ether (ETH),bitcoins, or another cryptocurrency. As described further herein,payment may also be made in the form of native tokens. In embodiments,payment is deposited in a digital wallet associated with a user accountof the user being paid.

3. Implementation Example—Hardware Overview

According to one embodiment, the techniques described herein areimplemented by at least one computing device. The techniques may beimplemented in whole or in part using a combination of at least oneserver computer and/or other computing devices that are coupled using anetwork, such as a packet data network. The computing devices may behard-wired to perform the techniques, or may include digital electronicdevices such as at least one application-specific integrated circuit(ASIC) or field programmable gate array (FPGA) that is persistentlyprogrammed to perform the techniques, or may include at least onegeneral purpose hardware processor programmed to perform the techniquespursuant to program instructions in firmware, memory, other storage, ora combination. Such computing devices may also combine custom hard-wiredlogic, ASICs, or FPGAs with custom programming to accomplish thedescribed techniques. The computing devices may be server computers,workstations, personal computers, portable computer systems, handhelddevices, mobile computing devices, wearable devices, body mounted orimplantable devices, smartphones, smart appliances, internetworkingdevices, autonomous or semi-autonomous devices such as robots orunmanned ground or aerial vehicles, any other electronic device thatincorporates hard-wired and/or program logic to implement the describedtechniques, one or more virtual computing machines or instances in adata center, and/or a network of server computers and/or personalcomputers.

FIG. 5 is a block diagram that illustrates an example computer systemwith which an embodiment may be implemented. In the example of FIG. 5 ,a computer system 500 and instructions for implementing the disclosedtechnologies in hardware, software, or a combination of hardware andsoftware, are represented schematically, for example as boxes andcircles, at the same level of detail that is commonly used by persons ofordinary skill in the art to which this disclosure pertains forcommunicating about computer architecture and computer systemsimplementations.

Computer system 500 includes an input/output (I/O) subsystem 502 whichmay include a bus and/or other communication mechanism(s) forcommunicating information and/or instructions between the components ofthe computer system 500 over electronic signal paths. The I/O subsystem502 may include an I/O controller, a memory controller and at least oneI/O port. The electronic signal paths are represented schematically inthe drawings, for example as lines, unidirectional arrows, orbidirectional arrows.

At least one hardware processor 504 is coupled to I/O subsystem 502 forprocessing information and instructions. Hardware processor 504 mayinclude, for example, a general-purpose microprocessor ormicrocontroller and/or a special-purpose microprocessor such as anembedded system or a graphics processing unit (GPU) or a digital signalprocessor or ARM processor. Processor 504 may comprise an integratedarithmetic logic unit (ALU) or may be coupled to a separate ALU.

Computer system 500 includes one or more units of memory 506, such as amain memory, which is coupled to I/O subsystem 502 for electronicallydigitally storing data and instructions to be executed by processor 504.Memory 506 may include volatile memory such as various forms ofrandom-access memory (RAM) or other dynamic storage device. Memory 506also may be used for storing temporary variables or other intermediateinformation during execution of instructions to be executed by processor504. Such instructions, when stored in non-transitory computer-readablestorage media accessible to processor 504, can render computer system500 into a special-purpose machine that is customized to perform theoperations specified in the instructions.

Computer system 500 further includes non-volatile memory such as readonly memory (ROM) 508 or other static storage device coupled to I/Osubsystem 502 for storing information and instructions for processor504. The ROM 508 may include various forms of programmable ROM (PROM)such as erasable PROM (EPROM) or electrically erasable PROM (EEPROM). Aunit of persistent storage 510 may include various forms of non-volatileRAM (NVRAM), such as FLASH memory, or solid-state storage, magnetic diskor optical disk such as CD-ROM or DVD-ROM and may be coupled to I/Osubsystem 502 for storing information and instructions. Storage 510 isan example of a non-transitory computer-readable medium that may be usedto store instructions and data which when executed by the processor 504cause performing computer-implemented methods to execute the techniquesherein.

The instructions in memory 506, ROM 508 or storage 510 may comprise oneor more sets of instructions that are organized as modules, methods,objects, functions, routines, or calls. The instructions may beorganized as one or more computer programs, operating system services,or application programs including mobile apps. The instructions maycomprise an operating system and/or system software; one or morelibraries to support multimedia, programming or other functions; dataprotocol instructions or stacks to implement TCP/IP, HTTP or othercommunication protocols; file format processing instructions to parse orrender files coded using HTML, XML, JPEG, MPEG or PNG; user interfaceinstructions to render or interpret commands for a graphical userinterface (GUI), command-line interface or text user interface;application software such as an office suite, internet accessapplications, design and manufacturing applications, graphicsapplications, audio applications, software engineering applications,educational applications, games or miscellaneous applications. Theinstructions may implement a web server, web application server or webclient. The instructions may be organized as a presentation layer,application layer and data storage layer such as a relational databasesystem using structured query language (SQL) or no SQL, an object store,a graph database, a flat file system or other data storage.

Computer system 500 may be coupled via I/O subsystem 502 to at least oneoutput device 512. In one embodiment, output device 512 is a digitalcomputer display. Examples of a display that may be used in variousembodiments include a touch screen display or a light-emitting diode(LED) display or a liquid crystal display (LCD) or an e-paper display.Computer system 500 may include other type(s) of output devices 512,alternatively or in addition to a display device. Examples of otheroutput devices 512 include printers, ticket printers, plotters,projectors, sound cards or video cards, speakers, buzzers orpiezoelectric devices or other audible devices, lamps or LED or LCDindicators, haptic devices, actuators or servos.

At least one input device 514 is coupled to I/O subsystem 502 forcommunicating signals, data, command selections or gestures to processor504. Examples of input devices 514 include touch screens, microphones,still and video digital cameras, alphanumeric and other keys, keypads,keyboards, graphics tablets, image scanners, joysticks, clocks,switches, buttons, dials, slides, and/or various types of sensors suchas force sensors, motion sensors, heat sensors, accelerometers,gyroscopes, and inertial measurement unit (IMUS) sensors and/or varioustypes of transceivers such as wireless, such as cellular or Wi-Fi, radiofrequency (RF) or infrared (IR) transceivers and Global PositioningSystem (GPS) transceivers.

Another type of input device is a control device 516, which may performcursor control or other automated control functions such as navigationin a graphical interface on a display screen, alternatively or inaddition to input functions. Control device 516 may be a touchpad, amouse, a trackball, or cursor direction keys for communicating directioninformation and command selections to processor 504 and for controllingcursor movement on display 512. The input device may have at least twodegrees of freedom in two axes, a first axis (e.g., x) and a second axis(e.g., y), that allows the device to specify positions in a plane.Another type of input device is a wired, wireless, or optical controldevice such as a joystick, wand, console, steering wheel, pedal,gearshift mechanism or other type of control device. An input device 514may include a combination of multiple different input devices, such as avideo camera and a depth sensor.

In another embodiment, computer system 500 may comprise an internet ofthings (IoT) device in which one or more of the output device 512, inputdevice 514, and control device 516 are omitted. Or, in such anembodiment, the input device 514 may comprise one or more cameras,motion detectors, thermometers, microphones, seismic detectors, othersensors or detectors, measurement devices or encoders and the outputdevice 512 may comprise a special-purpose display such as a single-lineLED or LCD display, one or more indicators, a display panel, a meter, avalve, a solenoid, an actuator or a servo.

When computer system 500 is a mobile computing device, input device 514may comprise a global positioning system (GPS) receiver coupled to a GPSmodule that is capable of triangulating to a plurality of GPSsatellites, determining and generating geo-location or position datasuch as latitude-longitude values for a geophysical location of thecomputer system 500. Output device 512 may include hardware, software,firmware and interfaces for generating position reporting packets,notifications, pulse or heartbeat signals, or other recurring datatransmissions that specify a position of the computer system 500, aloneor in combination with other application-specific data, directed towardhost 524 or server 530.

Computer system 500 may implement the techniques described herein usingcustomized hard-wired logic, at least one ASIC or FPGA, firmware and/orprogram instructions or logic which when loaded and used or executed incombination with the computer system causes or programs the computersystem to operate as a special-purpose machine. According to oneembodiment, the techniques herein are performed by computer system 500in response to processor 504 executing at least one sequence of at leastone instruction contained in main memory 506. Such instructions may beread into main memory 506 from another storage medium, such as storage510. Execution of the sequences of instructions contained in main memory506 causes processor 504 to perform the process steps described herein.In alternative embodiments, hard-wired circuitry may be used in place ofor in combination with software instructions.

The term “storage media” as used herein refers to any non-transitorymedia that store data and/or instructions that cause a machine tooperation in a specific fashion. Such storage media may comprisenon-volatile media and/or volatile media. Non-volatile media includes,for example, optical or magnetic disks, such as storage 510. Volatilemedia includes dynamic memory, such as memory 506. Common forms ofstorage media include, for example, a hard disk, solid state drive,flash drive, magnetic data storage medium, any optical or physical datastorage medium, memory chip, or the like.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire and fiber optics, including thewires that comprise a bus of I/O subsystem 502. Transmission media canalso take the form of acoustic or light waves, such as those generatedduring radio-wave and infra-red data communications.

Various forms of media may be involved in carrying at least one sequenceof at least one instruction to processor 504 for execution. For example,the instructions may initially be carried on a magnetic disk orsolid-state drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over acommunication link such as a fiber optic or coaxial cable or telephoneline using a modem. A modem or router local to computer system 500 canreceive the data on the communication link and convert the data to aformat that can be read by computer system 500. For instance, a receiversuch as a radio frequency antenna or an infrared detector can receivethe data carried in a wireless or optical signal and appropriatecircuitry can provide the data to I/O subsystem 502 such as place thedata on a bus. I/O subsystem 502 carries the data to memory 506, fromwhich processor 504 retrieves and executes the instructions. Theinstructions received by memory 506 may optionally be stored on storage510 either before or after execution by processor 504.

Computer system 500 also includes a communication interface 518 coupledto bus 502. Communication interface 518 provides a two-way datacommunication coupling to network link(s) 520 that are directly orindirectly connected to at least one communication networks, such as anetwork 522 or a public or private cloud on the Internet. For example,communication interface 518 may be an Ethernet networking interface,integrated-services digital network (ISDN) card, cable modem, satellitemodem, or a modem to provide a data communication connection to acorresponding type of communications line, for example an Ethernet cableor a metal cable of any kind or a fiber-optic line or a telephone line.Network 522 broadly represents a local area network (LAN), wide-areanetwork (WAN), campus network, internetwork or any combination thereof.Communication interface 518 may comprise a LAN card to provide a datacommunication connection to a compatible LAN, or a cellularradiotelephone interface that is wired to send or receive cellular dataaccording to cellular radiotelephone wireless networking standards, or asatellite radio interface that is wired to send or receive digital dataaccording to satellite wireless networking standards. In any suchimplementation, communication interface 518 sends and receiveselectrical, electromagnetic or optical signals over signal paths thatcarry digital data streams representing various types of information.

Network link 520 typically provides electrical, electromagnetic, oroptical data communication directly or through at least one network toother data devices, using, for example, satellite, cellular, Wi-Fi, orBLUETOOTH technology. For example, network link 520 may provide aconnection through a network 522 to a host computer 524.

Furthermore, network link 520 may provide a connection through network522 or to other computing devices via internetworking devices and/orcomputers that are operated by an Internet Service Provider (ISP) 526.ISP 526 provides data communication services through a world-wide packetdata communication network represented as internet 528. A servercomputer 530 may be coupled to internet 528. Server 530 broadlyrepresents any computer, data center, virtual machine or virtualcomputing instance with or without a hypervisor, or computer executing acontainerized program system such as DOCKER or KUBERNETES. Server 530may represent an electronic digital service that is implemented usingmore than one computer or instance and that is accessed and used bytransmitting web services requests, uniform resource locator (URL)strings with parameters in HTTP payloads, API calls, app services calls,or other service calls. Computer system 500 and server 530 may formelements of a distributed computing syste0m that includes othercomputers, a processing cluster, server farm or other organization ofcomputers that cooperate to perform tasks or execute applications orservices. Server 530 may comprise one or more sets of instructions thatare organized as modules, methods, objects, functions, routines, orcalls. The instructions may be organized as one or more computerprograms, operating system services, or application programs includingmobile apps. The instructions may comprise an operating system and/orsystem software; one or more libraries to support multimedia,programming or other functions; data protocol instructions or stacks toimplement TCP/IP, HTTP or other communication protocols; file formatprocessing instructions to parse or render files coded using HTML, XML,JPEG, MPEG or PNG; user interface instructions to render or interpretcommands for a graphical user interface (GUI), command-line interface ortext user interface; application software such as an office suite,internet access applications, design and manufacturing applications,graphics applications, audio applications, software engineeringapplications, educational applications, games or miscellaneousapplications. Server 530 may comprise a web application server thathosts a presentation layer, application layer and data storage layersuch as a relational database system using structured query language(SQL) or no SQL, an object store, a graph database, a flat file systemor other data storage.

Computer system 500 can send messages and receive data and instructions,including program code, through the network(s), network link 520 andcommunication interface 518. In the Internet example, a server 530 mighttransmit a requested code for an application program through Internet528, ISP 526, local network 522 and communication interface 518. Thereceived code may be executed by processor 504 as it is received, and/orstored in storage 510, or other non-volatile storage for laterexecution.

The execution of instructions as described in this section may implementa process in the form of an instance of a computer program that is beingexecuted, and consisting of program code and its current activity.Depending on the operating system (OS), a process may be made up ofmultiple threads of execution that execute instructions concurrently. Inthis context, a computer program is a passive collection ofinstructions, while a process may be the actual execution of thoseinstructions. Several processes may be associated with the same program;for example, opening up several instances of the same program oftenmeans more than one process is being executed. Multitasking may beimplemented to allow multiple processes to share processor 504. Whileeach processor 504 or core of the processor executes a single task at atime, computer system 500 may be programmed to implement multitasking toallow each processor to switch between tasks that are being executedwithout having to wait for each task to finish. In an embodiment,switches may be performed when tasks perform input/output operations,when a task indicates that it can be switched, or on hardwareinterrupts. Time-sharing may be implemented to allow fast response forinteractive user applications by rapidly performing context switches toprovide the appearance of concurrent execution of multiple processessimultaneously. In an embodiment, for security and reliability, anoperating system may prevent direct communication between independentprocesses, providing strictly mediated and controlled inter-processcommunication functionality.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. The specification and drawings are,accordingly, to be regarded in an illustrative rather than a restrictivesense. The sole and exclusive indicator of the scope of the invention,and what is intended by the applicants to be the scope of the invention,is the literal and equivalent scope of the set of claims that issue fromthis application, in the specific form in which such claims issue,including any subsequent correction.

What is claimed is:
 1. One or more non-transitory computer-readablemedia storing instructions which, when executed by one or moreprocessors, cause: receiving, from a first user, a specification of afile comprising digital content, the specification being associated withBroadcast buy criteria comprising a desired host platform type, adesired collaboration type, a desired follower range, and a budget;receiving, from a second user, Broadcast sell settings comprising one ormore sets of parameters, each set including at least a pricecorresponding to both a collaboration type and a host platform type, acompatible set of the one or more sets of parameters comprising thedesired host platform type and the desired collaboration type, the priceof the compatible set being less than or equal to the budget, and afollower count of the second user on the desired host platform typebeing within the desired follower range; transmitting, to the firstuser, a notification comprising a name of the second user and thecompatible set of parameters; receiving, from the first user, inputsignaling an acceptance of the name of the second user and thecompatible set of parameters; receiving, from the second user, averification link comprising a pointer to a digital object; verifyingthat the digital object pointed to by the verification link comprises adigital content composition comprising the specified digital content,that the digital object is being hosted on the host platform type, andthat the digital content composition is of the desired collaborationtype; and distributing, to a financial account of the second user, apayment.
 2. The computer-readable media of claim 1, the desired followerrange being associated with the specification of the file by the firstuser dragging a slider in a GUI displayed on a display of a computingdevice of the first user, the slider comprising a left boundrepresenting a minimum number of desired followers and a right boundrepresenting a maximum number of desired followers, the slider beingoverlaid on a histogram depicting associated follower counts of contentcreators having digitally submitted Broadcast sell settings.
 3. Thecomputer-readable media of claim 2, further comprising instructionswhich, when executed by the one or more processors, cause automaticallypopulating, in a subframe of the GUI, a list of content creatorsassociated with Broadcast sell settings that meet the Broadcast buycriteria, the list comprising miniature portraits of the contentcreators along with corresponding social media handles and associatedfollower counts.
 4. The computer-readable media of claim 1, furthercomprising instructions which, when executed by the one or moreprocessors, cause automatically populating, in a subframe of a GUIdisplayed on a display of a computing device of the first user, a listof content creators associated with Broadcast sell settings that meetthe Broadcast buy criteria, the list comprising miniature portraits ofthe content creators along with corresponding social media handles andfollower counts.
 5. The computer-readable media of claim 4, the contentcreators of the list of content creators being selected for display inthe subframe of the GUI out of all content creators associated withBroadcast sell settings that meet the Broadcast buy criteria at leastpartly based on determinations made by a machine learning algorithmoperating on a graph, content types and content creators beingrepresented as nodes on the graph and an increase in followers of asecond content creator being modeled as a flow from a first contentcreator node to a second content creator node.
 6. The computer-readablemedia of claim 4, the content creators of the list of content creatorsbeing selected for display in the subframe of the GUI out of all contentcreators associated with Broadcast sell settings that meet the Broadcastbuy criteria at least partly based on content tags submitted by thefirst user designating one or more styles of the digital content.
 7. Thecomputer-readable media of claim 1, the collaboration type comprisingone of a duet, a stitch, a sound, or a comment.